From 3e88641895f1b84db2a8f76638da37ba67dc77fd Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Mon, 15 Apr 2002 22:21:30 +0000 Subject: [PATCH] include internal children when doing focus. Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal children when doing focus. (gtk_container_get_all_children): new static function to include internal children when making a list of them. --- ChangeLog | 7 +++++++ ChangeLog.pre-2-10 | 7 +++++++ ChangeLog.pre-2-2 | 7 +++++++ ChangeLog.pre-2-4 | 7 +++++++ ChangeLog.pre-2-6 | 7 +++++++ ChangeLog.pre-2-8 | 7 +++++++ gtk/gtkcontainer.c | 16 +++++++++++++++- 7 files changed, 57 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d7fd25fd7f..f9bac8ce92 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Apr 15 15:41:56 2002 Jonathan Blandford + + * gtk/gtkcontainer.c (gtk_container_focus): include internal + children when doing focus. + (gtk_container_get_all_children): new static function to include + internal children when making a list of them. + Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index d7fd25fd7f..f9bac8ce92 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Mon Apr 15 15:41:56 2002 Jonathan Blandford + + * gtk/gtkcontainer.c (gtk_container_focus): include internal + children when doing focus. + (gtk_container_get_all_children): new static function to include + internal children when making a list of them. + Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index d7fd25fd7f..f9bac8ce92 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,10 @@ +Mon Apr 15 15:41:56 2002 Jonathan Blandford + + * gtk/gtkcontainer.c (gtk_container_focus): include internal + children when doing focus. + (gtk_container_get_all_children): new static function to include + internal children when making a list of them. + Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index d7fd25fd7f..f9bac8ce92 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,10 @@ +Mon Apr 15 15:41:56 2002 Jonathan Blandford + + * gtk/gtkcontainer.c (gtk_container_focus): include internal + children when doing focus. + (gtk_container_get_all_children): new static function to include + internal children when making a list of them. + Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index d7fd25fd7f..f9bac8ce92 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +Mon Apr 15 15:41:56 2002 Jonathan Blandford + + * gtk/gtkcontainer.c (gtk_container_focus): include internal + children when doing focus. + (gtk_container_get_all_children): new static function to include + internal children when making a list of them. + Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index d7fd25fd7f..f9bac8ce92 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Mon Apr 15 15:41:56 2002 Jonathan Blandford + + * gtk/gtkcontainer.c (gtk_container_focus): include internal + children when doing focus. + (gtk_container_get_all_children): new static function to include + internal children when making a list of them. + Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index b9aeea334e..b93d9d1ad6 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -1389,6 +1389,20 @@ get_focus_chain (GtkContainer *container) return g_object_get_data (G_OBJECT (container), "gtk-container-focus-chain"); } +/* same as gtk_container_get_children, except it includes internals + */ +static GList * +gtk_container_get_all_children (GtkContainer *container) +{ + GList *children = NULL; + + gtk_container_forall (container, + gtk_container_children_callback, + &children); + + return children; +} + static gboolean gtk_container_focus (GtkWidget *widget, GtkDirectionType direction) @@ -1420,7 +1434,7 @@ gtk_container_focus (GtkWidget *widget, if (container->has_focus_chain) children = g_list_copy (get_focus_chain (container)); else - children = gtk_container_get_children (container); + children = gtk_container_get_all_children (container); if (container->has_focus_chain && (direction == GTK_DIR_TAB_FORWARD || -- 2.30.2